﻿// using Admin.ApplicationLib.Services;
// using Admin.CommonLib.Models.Job;
// using Microsoft.AspNetCore.Mvc;
//
// namespace Admin.WebApi.Controllers
// {
//     [Route("api/v1/jobs")]
//     [ApiController]
//     public class JobController : ControllerBase
//     {
//         private readonly IJobService _jobService;
//
//         public JobController(IJobService jobService)
//         {
//             _jobService = jobService;
//         }
//
//         [HttpGet]
//         public async Task<IActionResult> Get([FromQuery] JobDetailSearchRequestDto model)
//         {
//             if (model.Limit > 0 || model.Page > 0)
//             {
//                 var data = await _jobService.QueryJobsByPageAsync(model);
//                 return Ok(data);
//             }
//             else
//             {
//                 var data = await _jobService.QueryJobsAsync(model);
//                 return Ok(data);
//             }
//         }
//
//         [HttpGet("name/{jobName}/group/{jobGroup}")]
//         public async Task<IActionResult> Get(string jobName, string jobGroup)
//         {
//             var data = await _jobService.GetJobAsync(jobName, jobGroup);
//             return Ok(data);
//         }
//
//         [HttpPost]
//         public async Task<IActionResult> Post(JobDetailEditRequestDto model)
//         {
//             var data = await _jobService.CreateJobAsync(model);
//             return Ok(data);
//         }
//
//         [HttpPut("{id}")]
//         public async Task<IActionResult> Put(Guid id, JobDetailEditRequestDto model)
//         {
//             var data = await _jobService.UpdateJobAsync(id, model);
//             return Ok(data);
//         }
//
//         [HttpPut("start")]
//         public async Task<IActionResult> Start(string jobName, string groupName)
//         {
//             await _jobService.StartJobAsync(jobName, groupName);
//             return Ok();
//         }
//
//         [HttpPut("stop")]
//         public async Task<IActionResult> Stop(Guid id)
//         {
//             await _jobService.StopJobAsync(id);
//             return Ok();
//         }
//     }
// }